import { IconProp } from '@fortawesome/fontawesome-svg-core'; import { Component, ComponentType } from 'react'; import { FormControlProps } from '../form.doc'; import { InputBorderStyle, InputSize } from '../input'; export interface SelectOptionEntry { text: string; value: T; } export interface SelectChangeEvent { value: T | undefined; /** * Only available when property `controlled` is `true` */ oldValue?: T | undefined; } export interface SelectProps extends FormControlProps { className?: string; /** * Defaults to `'box'`. */ border?: InputBorderStyle; /** * Defaults to `'middle'`. */ size?: InputSize; icon?: IconProp; /** * Placeholder when the value is `empty` */ placeholder?: string; /** * Description shown as options popup header. */ description?: string; /** * Exceeding the maxHeight will scroll. */ maxHeight?: number; /** * Option entries in array; alternatively supports `