import { jsx as _jsx } from "react/jsx-runtime";
import Image from 'next/image';
import { Code, Rocket } from 'lucide-react';
import { cn } from '../../lib/utils.js';
/** Fallback icon for unknown editor types. */
function DefaultEditorIcon(props) {
    return _jsx(Code, { className: cn('h-4 w-4', props.className), ...props });
}
function VsCodeIcon({ className }) {
    return (_jsx(Image, { src: "/icons/editors/vscode.svg", alt: "VS Code", width: 24, height: 24, className: cn('rounded-sm object-contain', className) }));
}
VsCodeIcon.displayName = 'VsCodeIcon';
function CursorEditorIcon({ className }) {
    return (_jsx(Image, { src: "/icons/agents/cursor.jpeg", alt: "Cursor", width: 24, height: 24, className: cn('rounded-sm object-contain', className) }));
}
CursorEditorIcon.displayName = 'CursorEditorIcon';
function WindsurfIcon({ className }) {
    return (_jsx(Image, { src: "/icons/editors/windsurf.svg", alt: "Windsurf", width: 24, height: 24, className: cn('rounded-sm object-contain', className) }));
}
WindsurfIcon.displayName = 'WindsurfIcon';
function ZedIcon({ className }) {
    return (_jsx(Image, { src: "/icons/editors/zed.svg", alt: "Zed", width: 24, height: 24, className: cn('rounded-sm object-contain', className) }));
}
ZedIcon.displayName = 'ZedIcon';
function AntigravityIcon({ className, ...props }) {
    return _jsx(Rocket, { className: cn('h-4 w-4', className), ...props });
}
AntigravityIcon.displayName = 'AntigravityIcon';
const editorTypeIconMap = {
    vscode: VsCodeIcon,
    cursor: CursorEditorIcon,
    windsurf: WindsurfIcon,
    zed: ZedIcon,
    antigravity: AntigravityIcon,
};
/** Resolve an editor type string to its corresponding icon component. */
export function getEditorTypeIcon(editorType) {
    if (editorType && editorType in editorTypeIconMap) {
        return editorTypeIconMap[editorType];
    }
    return DefaultEditorIcon;
}
