import { SystemIconName } from '../../DataDisplays'; export type Item = { key: number | string; value: string; leadingIcon?: SystemIconName; }; export interface IconButtonDropdownProps { disabled?: boolean; icon: SystemIconName; size?: 'sm' | 'md' | 'lg'; align?: 'left' | 'right'; items: Item[]; selectedItem: Item; onItemClick: (item: Item) => void; } /** * 아이콘 버튼과 드롭다운 목록을 결합한 컴포넌트입니다. * 버튼 클릭 시 드롭다운 목록이 표시되며, 키보드 탐색이 가능합니다. * * @component * * @param {Object} props * @param {SystemIconName} props.icon - 버튼에 표시될 아이콘 * @param {boolean} [props.disabled=false] - 버튼 비활성화 여부를 지정합니다 * @param {('sm'|'md'|'lg')} [props.size='sm'] - 버튼의 크기 * @param {('left'|'right')} [props.align='left'] - 드롭다운 목록의 정렬 방향 * @param {Item[]} props.items - 드롭다운 목록에 표시될 항목들 ({key, value, leadingIcon}[]) * @param {Item} props.selectedItem - 현재 선택된 항목 * @param {(item: Item) => void} props.onItemClick - 항목 선택 시 실행될 콜백 함수 * * @example * ```tsx * const items = [ * { key: 1, value: '옵션 1', leadingIcon: 'settings' }, * { key: 2, value: '옵션 2', leadingIcon: 'trash' } * ]; * * console.log(item)} * size="md" * align="right" * /> * ``` */ declare const IconButtonDropdown: ({ icon, items, selectedItem, onItemClick, size, align, disabled, }: IconButtonDropdownProps) => import("react/jsx-runtime").JSX.Element; export { IconButtonDropdown };