import type { ArcComponentSize, IARCProps, RenderableContent } from '@adam-sv/arc'; export type DropdownValue = number | string | Record | Map | boolean | undefined; export interface IDropdownItem { label: string | number; value: T; disabled?: boolean; } export interface IDropdownProps extends IARCProps { /** * If value is undefined and placeholder is also undefined, it will set the value as the first item that is not disabled. * * @remarks * Value has no effect when a Dropdown is rendered within a Form. */ value?: T; items: IDropdownItem[]; onChange?: (item: IDropdownItem) => unknown; equalityCheck?: (item1: T, item2: T) => boolean; label?: string; error?: string; labelFor?: string; placeholder?: string; componentSize?: ArcComponentSize; info?: RenderableContent; selectRef?: React.RefObject; skeletonRef?: React.RefObject; disabled?: boolean; }