/** * Types for DropDown component * @module utils/dropDown */ /** * Enum for interaction mode of DropDown component * @readonly * @enum {string} */ export const enum DropDownMode { onMouseHover = "mousehover", onClick = "click", } /** * Enum for alignment of DropDown component * @readonly * @enum {number} */ export const enum DropDownAlignment { Left, Right, } /** * Interface for the entry of DropDown menu * @typedef {object} DropDownEntry * @property {string} text Text to be displayed on the menu * @property {string} link Hyperlink to the page */ interface DropDownEntry { text: string; link: string; } /** * Interface for the property of DropDown component * @typedef {object} DropDownProperty * @property {string} label Label of the component * @property {(DropDownMode | string)} mode Interaction mode of the component * @property {Array} entries Entries of DropDown menu * @property {boolean} showInMobile Whether to show the component in mobile(<640px) environemnt * @property {(DropDownAlignment | number)=} alignment Explicitly assign the alignment of the component */ interface DropDownProperty { label: string; mode: DropDownMode | string; entries: Array; showInMobile: boolean; alignment?: DropDownAlignment | number; } export type { DropDownProperty, DropDownEntry };