import { Activity, AlertCircle, AlertTriangle, ArrowRight, AtSign, LogIn, UserRound, SunMoon, Moon, Sun, Undo2, Check, Loader, Loader2, CircleX, CheckCircle2, Gift, X, CheckIcon, ArrowUp, Globe2, GraduationCap, Atom, Brain, LogOut, Settings, Home, Star, CreditCard, EllipsisVertical, User2, LifeBuoy, MessageCircle, MessageSquare, MessageSquarePlus, Plus, Trash, Ellipsis, ClockFading, BadgeCheck, BadgeX, ArrowUpRight, Menu, MonitorSmartphone, Key, TrendingUp, TrendingDown, PaintBucket, ChartNoAxesGantt, BookOpen, Webhook, Download, ChevronRight, SendHorizontal, Copy, ChevronsUpDown, ArrowDown, ArrowLeft, UserRoundPlus, UsersRound, Search, Filter, ChevronsLeft, ChevronLeft, ChevronsRight, Settings2, ChevronDown, EyeOff, ChevronUp, XCircle, MailPlus, PlusCircle, Calendar, ShieldUser, Building, HandCoins, Code, VenetianMask, Ban, Eye, Lock, Slash, MoreHorizontal, MoreVertical, Circle, Minus, PanelLeft, Database, Snowflake, Cloud, Crown, Target, Megaphone, Package, Headphones, Info, Bell, Share2, LayoutDashboard, Pencil, BarChart3, // AI module icons ImagePlus, Image, Globe, Sparkle, Sparkles, Square, SquarePen, TextSearch, MessagesSquare, ExternalLink, FileText, ChartNoAxesColumn, Zap, PackageOpen, Paperclip, AudioLines, AudioWaveform, Undo, Pause, Play, Redo, BanknoteX, ClockAlert, RotateCcw, RotateCw, ThumbsUp, ThumbsDown, // Additional AI module icons Shrub, Lightbulb, Puzzle, Smile, RefreshCcw, LibraryBig, BadgeDollarSign, Newspaper, RectangleHorizontal, RectangleVertical, ImagePlay, ImageOff, Send, FileUp, FileX, DownloadCloud, Link, ScrollText, Mic, MicOff, Workflow, Server, ArrowRightLeft, GitBranch, FolderOpen, Inbox, Trash2, } from "lucide-react"; import { Icons as GlobalIcons } from "@turbostarter/ui/assets"; import type { FC, SVGProps } from "react"; // AI Provider Icons const createProviderIcon = (paths: string[], viewBox = "0 0 24 24"): FC> => { const Component: FC> = (props) => ( {paths.map((d, i) => ( ))} ); return Component; }; const OpenAI = createProviderIcon([ "M22.282 9.821a5.985 5.985 0 0 0-.516-4.91 6.046 6.046 0 0 0-6.51-2.9A6.065 6.065 0 0 0 4.981 4.18a5.985 5.985 0 0 0-3.998 2.9 6.046 6.046 0 0 0 .743 7.097 5.98 5.98 0 0 0 .51 4.911 6.051 6.051 0 0 0 6.515 2.9A5.985 5.985 0 0 0 13.26 24a6.056 6.056 0 0 0 5.772-4.206 5.99 5.99 0 0 0 3.997-2.9 6.056 6.056 0 0 0-.747-7.073zM13.26 22.43a4.476 4.476 0 0 1-2.876-1.04l.141-.081 4.779-2.758a.795.795 0 0 0 .392-.681v-6.737l2.02 1.168a.071.071 0 0 1 .038.052v5.583a4.504 4.504 0 0 1-4.494 4.494zM3.6 18.304a4.47 4.47 0 0 1-.535-3.014l.142.085 4.783 2.759a.771.771 0 0 0 .78 0l5.843-3.369v2.332a.08.08 0 0 1-.033.062L9.74 19.95a4.5 4.5 0 0 1-6.14-1.646zM2.34 7.896a4.485 4.485 0 0 1 2.366-1.973V11.6a.766.766 0 0 0 .388.677l5.815 3.355-2.02 1.168a.076.076 0 0 1-.071 0l-4.83-2.786A4.504 4.504 0 0 1 2.34 7.896zm16.597 3.855l-5.833-3.387L15.119 7.2a.076.076 0 0 1 .071 0l4.83 2.791a4.494 4.494 0 0 1-.676 8.105v-5.678a.79.79 0 0 0-.407-.667zm2.01-3.023l-.141-.085-4.774-2.782a.776.776 0 0 0-.785 0L9.409 9.23V6.897a.066.066 0 0 1 .028-.061l4.83-2.787a4.5 4.5 0 0 1 6.68 4.66zm-12.64 4.135l-2.02-1.164a.08.08 0 0 1-.038-.057V6.075a4.5 4.5 0 0 1 7.375-3.453l-.142.08L8.704 5.46a.795.795 0 0 0-.393.681zm1.097-2.365l2.602-1.5 2.607 1.5v2.999l-2.597 1.5-2.607-1.5z", ]); const Gemini = createProviderIcon([ "M12 0C5.372 0 0 5.373 0 12s5.372 12 12 12 12-5.373 12-12S18.628 0 12 0zm5.568 14.163c-.169.288-.456.457-.781.457H7.213c-.325 0-.612-.169-.781-.457L4.194 12l2.238-2.163c.169-.288.456-.456.781-.456h9.574c.325 0 .612.168.781.456L19.806 12l-2.238 2.163z", ]); const Claude = createProviderIcon([ "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 15.5v-4.38l-3.5 2.19-.75-1.23L10.5 12l-3.75-2.08.75-1.23L11 10.88V6.5h1.5v4.38l3.5-2.19.75 1.23L13 12l3.75 2.08-.75 1.23-3.5-2.19V17.5H11z", ]); const Grok = createProviderIcon([ "M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z", ]); const DeepSeek = createProviderIcon([ "M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 18a8 8 0 1 1 8-8 8 8 0 0 1-8 8zm4-9h-3V8a1 1 0 0 0-2 0v3H8a1 1 0 0 0 0 2h3v3a1 1 0 0 0 2 0v-3h3a1 1 0 0 0 0-2z", ]); const Replicate = createProviderIcon([ "M4.5 2.5a2 2 0 0 0-2 2v15a2 2 0 0 0 2 2h15a2 2 0 0 0 2-2v-15a2 2 0 0 0-2-2h-15zm2 5h11v2h-11v-2zm0 4h11v2h-11v-2zm0 4h7v2h-7v-2z", ]); const Luma = createProviderIcon([ "M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5", ]); const StabilityAI = createProviderIcon([ "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm-5-9h10v2H7z", ]); const Recraft = createProviderIcon([ "M20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83zM3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM5.92 19H5v-.92l9.06-9.06.92.92L5.92 19z", ]); const ElevenLabs = createProviderIcon([ "M9 2v20M15 2v20", ]); const Nvidia = createProviderIcon([ "M11.06 8.84c-.6-.3-1.33-.4-2.06-.4-1.91 0-3.47.8-4.3 2.23l-.72-.42c.95-1.66 2.83-2.64 5.02-2.64.87 0 1.72.13 2.46.5l-.4.73zm7.56-3.12c-1.5-1.17-3.57-1.72-5.76-1.72-2.95 0-5.5 1.01-7.05 2.72-.98 1.08-1.59 2.4-1.81 3.87l.82.15c.2-1.32.73-2.5 1.59-3.45 1.4-1.55 3.7-2.45 6.45-2.45 2.02 0 3.9.51 5.24 1.54l.52-.66zM12 22c5.52 0 10-4.48 10-10S17.52 2 12 2 2 6.48 2 12s4.48 10 10 10z", ]); export const Icons = { ...GlobalIcons, Minus, PanelLeft, Eye, Slash, Code, VenetianMask, Lock, MailPlus, ClockFading, Calendar, ArrowRight, LogIn, UserRound, Key, SunMoon, ChevronRight, Moon, Sun, Undo2, Check, Loader2, CircleX, Ban, CheckCircle2, CheckIcon, Gift, X, ArrowUp, Globe2, GraduationCap, ChartNoAxesGantt, BookOpen, Webhook, Star, Atom, Brain, LogOut, Settings, Home, CreditCard, User2, EllipsisVertical, LifeBuoy, MessageCircle, Plus, Loader, Ellipsis, Trash, BadgeCheck, BadgeX, ArrowUpRight, Menu, MonitorSmartphone, Download, Copy, PaintBucket, SendHorizontal, ChevronsUpDown, ArrowDown, ArrowLeft, UsersRound, UserRoundPlus, Search, Filter, ChevronsLeft, ChevronLeft, ChevronsRight, Settings2, ChevronDown, EyeOff, ChevronUp, XCircle, PlusCircle, ShieldUser, Building, HandCoins, TrendingUp, MoreHorizontal, MoreVertical, Circle, BarChart3, BarChart: BarChart3, Pencil, Clock: ClockFading, Database, Snowflake, Cloud, Crown, Target, Megaphone, Package, Headphones, TrendingDown, AlertTriangle, AlertCircle, Info, Bell, Share: Share2, Activity, AtSign, MessageSquare, MessageSquarePlus, LayoutDashboard, Edit: Pencil, // AI module icons ImagePlus, Globe, Sparkle, Sparkles, Square, SquarePen, TextSearch, MessagesSquare, ExternalLink, FileText, ChartNoAxesColumn, Zap, PackageOpen, Paperclip, AudioLines, AudioWaveform, Undo, Pause, Play, Redo, BanknoteX, ClockAlert, RotateCcw, RotateCw, Image, ThumbsUp, ThumbsDown, // Additional AI module icons Shrub, Lightbulb, Puzzle, Smile, RefreshCcw, LibraryBig, BadgeDollarSign, Newspaper, RectangleHorizontal, RectangleVertical, ImagePlay, ImageOff, Send, FileUp, FileUpIcon: FileUp, FileX, DownloadCloud, Link, ScrollText, Mic, MicOff, Workflow, Server, ArrowRightLeft, GitBranch, FolderOpen, Inbox, Trash2, MinusIcon: Minus, PlusIcon: Plus, // AI provider icons OpenAI, Gemini, Claude, Grok, DeepSeek, Replicate, Luma, StabilityAI, Recraft, ElevenLabs, Nvidia, }; export type Icon = (typeof Icons)[keyof typeof Icons];