import { useEffect, useId, useMemo, useRef, useState, type KeyboardEvent } from 'react' import { AlertCircle, Check, ChevronDown } from 'lucide-react' export interface SelectOption { value: string label: string disabled?: boolean } interface SelectProps { value: string onChange: (value: string) => void options: SelectOption[] placeholder?: string disabled?: boolean /** Показать ошибку (2px `--color-danger`, иконка `AlertCircle`) — текст ошибки рисует вызывающий код под полем. */ error?: boolean id?: string 'aria-label'?: string 'aria-labelledby'?: string } /** * Кастомный селект (DESIGN_SYSTEM.md §4.16) — заменяет нативный `