/** * Select - Arrow-key navigable selection component * * Displays a list of options that can be navigated with arrow keys. * Press Enter to select, Escape to cancel. */ import React from 'react'; /** * Option for the Select component */ export interface SelectOption { /** The value returned when this option is selected */ value: T; /** Display label for the option */ label: string; /** Optional hint text shown dimmed after the label */ hint?: string; } /** * Props for the Select component */ export interface SelectProps { /** The message/question to display */ message: string; /** Available options */ options: SelectOption[]; /** Called when an option is selected */ onSelect: (value: T) => void; /** Called when user cancels (Escape) */ onCancel?: () => void; /** Initial selected index (default: 0) */ initialIndex?: number; } /** * Select component * * Arrow-key navigable selection list. Use up/down arrows or j/k to navigate, * Enter to select, Escape to cancel. * * @example * ```tsx *