import { SystemIconName } from '../../DataDisplays/SystemIcon'; export type Item = { key: number | string; value: string; leadingIcon?: SystemIconName; }; export interface TextFieldDropdownProps { items: Item[]; placeholder: string; onItemClick: (item: Item) => void; selectedItem?: Item; disabled?: boolean; supportMessage?: string; errorMessage?: string; className?: string; isError?: boolean; } /** * 드롭다운 형태의 텍스트 필드 컴포넌트입니다. * * @component * * @param {Object} props * @param {Item[]} props.items - 드롭다운에 표시될 아이템 배열 ({key, value, leadingIcon}[]) * @param {string} props.placeholder - 선택되지 않은 상태에서 표시될 안내 텍스트 * @param {(item: Item) => void} props.onItemClick - 아이템 선택 시 호출되는 콜백 함수 * @param {Item} [props.selectedItem] - 현재 선택된 아이템 * @param {boolean} [props.disabled] - 비활성화 여부 * @param {string} [props.supportMessage] - 입력 필드 아래에 표시될 도움말 메시지 * @param {string} [props.errorMessage] - 오류 발생 시 표시될 메시지 * @param {string} [props.className] - 추가적인 CSS 클래스명 * @param {boolean} [props.isError] - 오류 상태 여부 * * @example * ```tsx * const items = [ * { key: 1, value: '옵션 1', leadingIcon: 'home' }, * { key: 2, value: '옵션 2', leadingIcon: 'settings' } * ]; * * console.log('선택된 아이템:', item)} * selectedItem={items[0]} * supportMessage="추가 설명이 필요한 경우 이곳에 표시됩니다" * /> * ``` */ declare const TextFieldDropdown: ({ selectedItem, items, onItemClick, placeholder, disabled, isError, errorMessage, supportMessage, className, }: TextFieldDropdownProps) => import("react/jsx-runtime").JSX.Element; export { TextFieldDropdown };