import {
  Activity,
  Album,
  Aperture,
  AppWindow,
  AreaChart,
  Archive,
  AtSign,
  Award,
  BadgeCheck,
  BarChart,
  Battery,
  Bell,
  BellRing,
  Blocks,
  Bluetooth,
  Bolt,
  Book,
  BookOpen,
  Bookmark,
  Bot,
  Box,
  Boxes,
  Briefcase,
  Bug,
  Building,
  Building2,
  Cable,
  Calendar,
  Camera,
  Candy,
  Car,
  ChartBar,
  ChartLine,
  ChartPie,
  Check,
  CheckCircle,
  CircleCheck,
  CircleDot,
  Clipboard,
  Clock,
  Cloud,
  CloudCog,
  CloudDownload,
  CloudUpload,
  Code,
  Code2,
  Coffee,
  Cog,
  Coins,
  Compass,
  Contact,
  Container,
  Cookie,
  Copy,
  Cpu,
  CreditCard,
  Crown,
  Database,
  Disc,
  DollarSign,
  Download,
  Drone,
  Droplet,
  Euro,
  ExternalLink,
  Eye,
  Factory,
  Feather,
  File,
  FileText,
  Files,
  Filter,
  Flag,
  Flame,
  FlaskConical,
  Folder,
  FolderOpen,
  FolderTree,
  Frame,
  Gauge,
  Gem,
  Ghost,
  Gift,
  GitBranch,
  Globe,
  Globe2,
  GraduationCap,
  Grid,
  Hammer,
  HardDrive,
  Hash,
  Headphones,
  Heart,
  HelpCircle,
  History,
  Home,
  Image,
  Inbox,
  Infinity as InfinityIcon,
  Info,
  Key,
  KeyRound,
  Keyboard,
  Landmark,
  Laptop,
  Layers,
  Layers2,
  Layout,
  Library,
  Lightbulb,
  Link,
  Link2,
  List,
  Lock,
  LogIn,
  LogOut,
  Mail,
  Map,
  MapPin,
  Medal,
  MemoryStick,
  Menu,
  MessageCircle,
  MessageSquare,
  Mic,
  Milestone,
  Monitor,
  MonitorSmartphone,
  Moon,
  Mountain,
  Mouse,
  Move,
  Music,
  Navigation,
  Network,
  Newspaper,
  Notebook,
  Octagon,
  Package,
  Package2,
  PackageOpen,
  PaintBucket,
  Palette,
  Paperclip,
  Pause,
  Pen,
  Pencil,
  Percent,
  Phone,
  Pin,
  Pizza,
  Plane,
  Play,
  Plug,
  Plus,
  Pointer,
  Power,
  Presentation,
  Printer,
  Puzzle,
  Pyramid,
  QrCode,
  Radio,
  RadioTower,
  Receipt,
  Recycle,
  RefreshCw,
  Rocket,
  RotateCw,
  Route,
  Router,
  Rss,
  Ruler,
  Save,
  Scale,
  Scan,
  Scissors,
  ScreenShare,
  Search,
  Send,
  Server,
  ServerCog,
  Settings,
  Share,
  Share2,
  Shield,
  ShieldAlert,
  ShieldCheck,
  Ship,
  ShoppingBag,
  ShoppingCart,
  Shuffle,
  Signal,
  Smartphone,
  Smile,
  Snowflake,
  Sparkles,
  Square,
  SquareStack,
  Star,
  Sticker,
  StickyNote,
  StopCircle,
  Store,
  Sun,
  Sword,
  Swords,
  Syringe,
  Table,
  Tablet,
  Tag,
  Tags,
  Target,
  Telescope,
  Terminal,
  Thermometer,
  ThumbsUp,
  Timer,
  ToyBrick,
  Trash,
  TreePine,
  TrendingUp,
  Trophy,
  Truck,
  Tv,
  Umbrella,
  Undo,
  Unlink,
  Unlock,
  Upload,
  Usb,
  User,
  UserCheck,
  UserCog,
  UserPlus,
  Users,
  Utensils,
  Vault,
  Video,
  Wallet,
  Wand,
  Warehouse,
  Watch,
  Waves,
  Webcam,
  Webhook,
  Wheat,
  Wifi,
  Wind,
  Workflow,
  Wrench,
  XCircle,
  Zap,
  ZoomIn,
  ZoomOut,
} from "lucide-react"

export interface IconCatalogItem {
  name: string
  label: string
  Icon: React.ComponentType<{ className?: string; strokeWidth?: number }>
  group: string
}

const G_CLOUD = "云 / 服务器"
const G_HARDWARE = "硬件 / 终端"
const G_NETWORK = "网络 / 通讯"
const G_SECURITY = "安全 / 认证"
const G_DOMAIN = "域名 / 链接"
const G_STORAGE = "存储 / 文件"
const G_TAG = "标签 / 营销"
const G_PERF = "性能 / 推荐"
const G_MONEY = "商业 / 支付"
const G_USER = "用户 / 团队"
const G_MEDIA = "媒体 / 内容"
const G_TOOL = "工具 / 操作"
const G_PLACE = "地点 / 交通"
const G_UI = "通用 / 形状"
const G_NATURE = "自然 / 生活"
const G_DATA = "数据 / 图表"

export const ICON_CATALOG: IconCatalogItem[] = [
  // 云 / 服务器
  { name: "Cloud", label: "云", Icon: Cloud, group: G_CLOUD },
  { name: "CloudCog", label: "云配置", Icon: CloudCog, group: G_CLOUD },
  { name: "CloudUpload", label: "云上传", Icon: CloudUpload, group: G_CLOUD },
  { name: "CloudDownload", label: "云下载", Icon: CloudDownload, group: G_CLOUD },
  { name: "Server", label: "服务器", Icon: Server, group: G_CLOUD },
  { name: "ServerCog", label: "服务器配置", Icon: ServerCog, group: G_CLOUD },
  { name: "Database", label: "数据库", Icon: Database, group: G_CLOUD },
  { name: "Container", label: "容器", Icon: Container, group: G_CLOUD },
  { name: "Warehouse", label: "机房", Icon: Warehouse, group: G_CLOUD },
  { name: "Factory", label: "工厂", Icon: Factory, group: G_CLOUD },
  { name: "Building", label: "楼宇", Icon: Building, group: G_CLOUD },
  { name: "Building2", label: "大厦", Icon: Building2, group: G_CLOUD },
  { name: "Vault", label: "保险柜", Icon: Vault, group: G_CLOUD },

  // 硬件 / 终端
  { name: "Cpu", label: "CPU", Icon: Cpu, group: G_HARDWARE },
  { name: "MemoryStick", label: "内存", Icon: MemoryStick, group: G_HARDWARE },
  { name: "HardDrive", label: "硬盘", Icon: HardDrive, group: G_HARDWARE },
  { name: "Disc", label: "光盘", Icon: Disc, group: G_HARDWARE },
  { name: "Monitor", label: "显示器", Icon: Monitor, group: G_HARDWARE },
  { name: "MonitorSmartphone", label: "终端", Icon: MonitorSmartphone, group: G_HARDWARE },
  { name: "Laptop", label: "笔记本", Icon: Laptop, group: G_HARDWARE },
  { name: "Smartphone", label: "手机", Icon: Smartphone, group: G_HARDWARE },
  { name: "Tablet", label: "平板", Icon: Tablet, group: G_HARDWARE },
  { name: "Tv", label: "电视", Icon: Tv, group: G_HARDWARE },
  { name: "Keyboard", label: "键盘", Icon: Keyboard, group: G_HARDWARE },
  { name: "Mouse", label: "鼠标", Icon: Mouse, group: G_HARDWARE },
  { name: "Printer", label: "打印机", Icon: Printer, group: G_HARDWARE },
  { name: "Webcam", label: "摄像头", Icon: Webcam, group: G_HARDWARE },
  { name: "Camera", label: "相机", Icon: Camera, group: G_HARDWARE },
  { name: "Headphones", label: "耳机", Icon: Headphones, group: G_HARDWARE },
  { name: "Mic", label: "麦克风", Icon: Mic, group: G_HARDWARE },
  { name: "Watch", label: "手表", Icon: Watch, group: G_HARDWARE },
  { name: "Usb", label: "USB", Icon: Usb, group: G_HARDWARE },
  { name: "Battery", label: "电池", Icon: Battery, group: G_HARDWARE },
  { name: "Plug", label: "插头", Icon: Plug, group: G_HARDWARE },
  { name: "Power", label: "电源", Icon: Power, group: G_HARDWARE },

  // 网络 / 通讯
  { name: "Globe", label: "全球", Icon: Globe, group: G_NETWORK },
  { name: "Globe2", label: "地球", Icon: Globe2, group: G_NETWORK },
  { name: "Network", label: "网络", Icon: Network, group: G_NETWORK },
  { name: "Wifi", label: "WiFi", Icon: Wifi, group: G_NETWORK },
  { name: "Router", label: "路由", Icon: Router, group: G_NETWORK },
  { name: "Cable", label: "线缆", Icon: Cable, group: G_NETWORK },
  { name: "Signal", label: "信号", Icon: Signal, group: G_NETWORK },
  { name: "Radio", label: "无线电", Icon: Radio, group: G_NETWORK },
  { name: "RadioTower", label: "信号塔", Icon: RadioTower, group: G_NETWORK },
  { name: "Bluetooth", label: "蓝牙", Icon: Bluetooth, group: G_NETWORK },
  { name: "Rss", label: "RSS", Icon: Rss, group: G_NETWORK },
  { name: "Phone", label: "电话", Icon: Phone, group: G_NETWORK },
  { name: "Webhook", label: "Webhook", Icon: Webhook, group: G_NETWORK },
  { name: "QrCode", label: "二维码", Icon: QrCode, group: G_NETWORK },

  // 安全 / 认证
  { name: "Shield", label: "盾牌", Icon: Shield, group: G_SECURITY },
  { name: "ShieldCheck", label: "安全已验证", Icon: ShieldCheck, group: G_SECURITY },
  { name: "ShieldAlert", label: "安全警告", Icon: ShieldAlert, group: G_SECURITY },
  { name: "Lock", label: "锁", Icon: Lock, group: G_SECURITY },
  { name: "Unlock", label: "解锁", Icon: Unlock, group: G_SECURITY },
  { name: "Key", label: "密钥", Icon: Key, group: G_SECURITY },
  { name: "KeyRound", label: "圆形密钥", Icon: KeyRound, group: G_SECURITY },
  { name: "BadgeCheck", label: "认证", Icon: BadgeCheck, group: G_SECURITY },
  { name: "Eye", label: "查看", Icon: Eye, group: G_SECURITY },
  { name: "LogIn", label: "登录", Icon: LogIn, group: G_SECURITY },
  { name: "LogOut", label: "退出", Icon: LogOut, group: G_SECURITY },

  // 域名 / 链接
  { name: "AtSign", label: "邮箱符号", Icon: AtSign, group: G_DOMAIN },
  { name: "Mail", label: "邮件", Icon: Mail, group: G_DOMAIN },
  { name: "Inbox", label: "收件箱", Icon: Inbox, group: G_DOMAIN },
  { name: "Send", label: "发送", Icon: Send, group: G_DOMAIN },
  { name: "Link", label: "链接", Icon: Link, group: G_DOMAIN },
  { name: "Link2", label: "链接 2", Icon: Link2, group: G_DOMAIN },
  { name: "Unlink", label: "断开链接", Icon: Unlink, group: G_DOMAIN },
  { name: "ExternalLink", label: "外链", Icon: ExternalLink, group: G_DOMAIN },
  { name: "MessageCircle", label: "对话气泡", Icon: MessageCircle, group: G_DOMAIN },
  { name: "MessageSquare", label: "消息", Icon: MessageSquare, group: G_DOMAIN },
  { name: "Bell", label: "提醒", Icon: Bell, group: G_DOMAIN },
  { name: "BellRing", label: "响铃", Icon: BellRing, group: G_DOMAIN },

  // 存储 / 文件
  { name: "Package", label: "包裹", Icon: Package, group: G_STORAGE },
  { name: "Package2", label: "包裹 2", Icon: Package2, group: G_STORAGE },
  { name: "PackageOpen", label: "已开箱", Icon: PackageOpen, group: G_STORAGE },
  { name: "Boxes", label: "盒子组", Icon: Boxes, group: G_STORAGE },
  { name: "Box", label: "盒子", Icon: Box, group: G_STORAGE },
  { name: "Archive", label: "归档", Icon: Archive, group: G_STORAGE },
  { name: "Files", label: "文件组", Icon: Files, group: G_STORAGE },
  { name: "File", label: "文件", Icon: File, group: G_STORAGE },
  { name: "FileText", label: "文本文件", Icon: FileText, group: G_STORAGE },
  { name: "FolderOpen", label: "文件夹", Icon: FolderOpen, group: G_STORAGE },
  { name: "Folder", label: "文件夹闭", Icon: Folder, group: G_STORAGE },
  { name: "FolderTree", label: "目录树", Icon: FolderTree, group: G_STORAGE },
  { name: "Layers", label: "图层", Icon: Layers, group: G_STORAGE },
  { name: "Layers2", label: "图层 2", Icon: Layers2, group: G_STORAGE },
  { name: "Clipboard", label: "剪贴板", Icon: Clipboard, group: G_STORAGE },
  { name: "Library", label: "书库", Icon: Library, group: G_STORAGE },
  { name: "Book", label: "书", Icon: Book, group: G_STORAGE },
  { name: "BookOpen", label: "翻开书", Icon: BookOpen, group: G_STORAGE },
  { name: "Notebook", label: "笔记本", Icon: Notebook, group: G_STORAGE },
  { name: "Newspaper", label: "报纸", Icon: Newspaper, group: G_STORAGE },

  // 标签 / 营销
  { name: "Tag", label: "标签", Icon: Tag, group: G_TAG },
  { name: "Tags", label: "多标签", Icon: Tags, group: G_TAG },
  { name: "Hash", label: "哈希", Icon: Hash, group: G_TAG },
  { name: "Pin", label: "图钉", Icon: Pin, group: G_TAG },
  { name: "Bookmark", label: "书签", Icon: Bookmark, group: G_TAG },
  { name: "Sticker", label: "贴纸", Icon: Sticker, group: G_TAG },
  { name: "StickyNote", label: "便利贴", Icon: StickyNote, group: G_TAG },
  { name: "Flag", label: "国家旗帜", Icon: Flag, group: G_TAG },
  { name: "Milestone", label: "里程碑", Icon: Milestone, group: G_TAG },

  // 性能 / 推荐
  { name: "Zap", label: "闪电", Icon: Zap, group: G_PERF },
  { name: "Bolt", label: "雷电", Icon: Bolt, group: G_PERF },
  { name: "Gauge", label: "仪表盘", Icon: Gauge, group: G_PERF },
  { name: "Activity", label: "活动", Icon: Activity, group: G_PERF },
  { name: "TrendingUp", label: "上升", Icon: TrendingUp, group: G_PERF },
  { name: "Rocket", label: "火箭", Icon: Rocket, group: G_PERF },
  { name: "Flame", label: "火焰", Icon: Flame, group: G_PERF },
  { name: "Sparkles", label: "闪耀", Icon: Sparkles, group: G_PERF },
  { name: "Star", label: "星星", Icon: Star, group: G_PERF },
  { name: "Heart", label: "心", Icon: Heart, group: G_PERF },
  { name: "Award", label: "奖牌", Icon: Award, group: G_PERF },
  { name: "Crown", label: "皇冠", Icon: Crown, group: G_PERF },
  { name: "Trophy", label: "奖杯", Icon: Trophy, group: G_PERF },
  { name: "Medal", label: "勋章", Icon: Medal, group: G_PERF },
  { name: "Gem", label: "宝石", Icon: Gem, group: G_PERF },
  { name: "Gift", label: "礼物", Icon: Gift, group: G_PERF },
  { name: "ThumbsUp", label: "点赞", Icon: ThumbsUp, group: G_PERF },
  { name: "Target", label: "目标", Icon: Target, group: G_PERF },

  // 商业 / 支付
  { name: "DollarSign", label: "美元", Icon: DollarSign, group: G_MONEY },
  { name: "Euro", label: "欧元", Icon: Euro, group: G_MONEY },
  { name: "Coins", label: "硬币", Icon: Coins, group: G_MONEY },
  { name: "Wallet", label: "钱包", Icon: Wallet, group: G_MONEY },
  { name: "CreditCard", label: "信用卡", Icon: CreditCard, group: G_MONEY },
  { name: "Percent", label: "百分比", Icon: Percent, group: G_MONEY },
  { name: "Scale", label: "天平", Icon: Scale, group: G_MONEY },
  { name: "Landmark", label: "银行", Icon: Landmark, group: G_MONEY },
  { name: "Store", label: "店铺", Icon: Store, group: G_MONEY },
  { name: "ShoppingCart", label: "购物车", Icon: ShoppingCart, group: G_MONEY },
  { name: "ShoppingBag", label: "购物袋", Icon: ShoppingBag, group: G_MONEY },
  { name: "Briefcase", label: "公文包", Icon: Briefcase, group: G_MONEY },
  { name: "Receipt", label: "票据", Icon: Receipt, group: G_MONEY },

  // 用户 / 团队
  { name: "User", label: "用户", Icon: User, group: G_USER },
  { name: "Users", label: "用户组", Icon: Users, group: G_USER },
  { name: "UserCheck", label: "用户已验证", Icon: UserCheck, group: G_USER },
  { name: "UserCog", label: "用户配置", Icon: UserCog, group: G_USER },
  { name: "UserPlus", label: "添加用户", Icon: UserPlus, group: G_USER },
  { name: "Contact", label: "联系人", Icon: Contact, group: G_USER },
  { name: "Bot", label: "机器人", Icon: Bot, group: G_USER },
  { name: "Ghost", label: "幽灵", Icon: Ghost, group: G_USER },
  { name: "Smile", label: "笑脸", Icon: Smile, group: G_USER },
  { name: "GraduationCap", label: "学位帽", Icon: GraduationCap, group: G_USER },

  // 媒体 / 内容
  { name: "Image", label: "图片", Icon: Image, group: G_MEDIA },
  { name: "Video", label: "视频", Icon: Video, group: G_MEDIA },
  { name: "Music", label: "音乐", Icon: Music, group: G_MEDIA },
  { name: "Play", label: "播放", Icon: Play, group: G_MEDIA },
  { name: "Pause", label: "暂停", Icon: Pause, group: G_MEDIA },
  { name: "StopCircle", label: "停止", Icon: StopCircle, group: G_MEDIA },
  { name: "Album", label: "专辑", Icon: Album, group: G_MEDIA },
  { name: "Frame", label: "相框", Icon: Frame, group: G_MEDIA },
  { name: "Aperture", label: "光圈", Icon: Aperture, group: G_MEDIA },
  { name: "ScreenShare", label: "共享屏幕", Icon: ScreenShare, group: G_MEDIA },
  { name: "Presentation", label: "演示", Icon: Presentation, group: G_MEDIA },

  // 工具 / 操作
  { name: "Settings", label: "设置", Icon: Settings, group: G_TOOL },
  { name: "Cog", label: "齿轮", Icon: Cog, group: G_TOOL },
  { name: "Wrench", label: "扳手", Icon: Wrench, group: G_TOOL },
  { name: "Hammer", label: "锤子", Icon: Hammer, group: G_TOOL },
  { name: "Terminal", label: "终端", Icon: Terminal, group: G_TOOL },
  { name: "Code", label: "代码", Icon: Code, group: G_TOOL },
  { name: "Code2", label: "代码 2", Icon: Code2, group: G_TOOL },
  { name: "GitBranch", label: "分支", Icon: GitBranch, group: G_TOOL },
  { name: "Workflow", label: "工作流", Icon: Workflow, group: G_TOOL },
  { name: "Bug", label: "缺陷", Icon: Bug, group: G_TOOL },
  { name: "Pen", label: "钢笔", Icon: Pen, group: G_TOOL },
  { name: "Pencil", label: "铅笔", Icon: Pencil, group: G_TOOL },
  { name: "Feather", label: "羽毛", Icon: Feather, group: G_TOOL },
  { name: "Wand", label: "魔法棒", Icon: Wand, group: G_TOOL },
  { name: "Search", label: "搜索", Icon: Search, group: G_TOOL },
  { name: "Filter", label: "筛选", Icon: Filter, group: G_TOOL },
  { name: "Scan", label: "扫描", Icon: Scan, group: G_TOOL },
  { name: "Save", label: "保存", Icon: Save, group: G_TOOL },
  { name: "Upload", label: "上传", Icon: Upload, group: G_TOOL },
  { name: "Download", label: "下载", Icon: Download, group: G_TOOL },
  { name: "RefreshCw", label: "刷新", Icon: RefreshCw, group: G_TOOL },
  { name: "RotateCw", label: "旋转", Icon: RotateCw, group: G_TOOL },
  { name: "Recycle", label: "回收", Icon: Recycle, group: G_TOOL },
  { name: "Trash", label: "删除", Icon: Trash, group: G_TOOL },
  { name: "Copy", label: "复制", Icon: Copy, group: G_TOOL },
  { name: "Scissors", label: "剪切", Icon: Scissors, group: G_TOOL },
  { name: "Paperclip", label: "附件", Icon: Paperclip, group: G_TOOL },
  { name: "Share", label: "分享", Icon: Share, group: G_TOOL },
  { name: "Share2", label: "分享 2", Icon: Share2, group: G_TOOL },
  { name: "Shuffle", label: "随机", Icon: Shuffle, group: G_TOOL },
  { name: "Move", label: "移动", Icon: Move, group: G_TOOL },
  { name: "Undo", label: "撤销", Icon: Undo, group: G_TOOL },
  { name: "ZoomIn", label: "放大", Icon: ZoomIn, group: G_TOOL },
  { name: "ZoomOut", label: "缩小", Icon: ZoomOut, group: G_TOOL },
  { name: "Pointer", label: "指针", Icon: Pointer, group: G_TOOL },
  { name: "Plus", label: "新增", Icon: Plus, group: G_TOOL },
  { name: "Check", label: "对勾", Icon: Check, group: G_TOOL },
  { name: "CheckCircle", label: "已完成", Icon: CheckCircle, group: G_TOOL },
  { name: "CircleCheck", label: "圆勾", Icon: CircleCheck, group: G_TOOL },
  { name: "XCircle", label: "关闭", Icon: XCircle, group: G_TOOL },
  { name: "Info", label: "信息", Icon: Info, group: G_TOOL },
  { name: "HelpCircle", label: "帮助", Icon: HelpCircle, group: G_TOOL },
  { name: "Lightbulb", label: "灵感", Icon: Lightbulb, group: G_TOOL },
  { name: "Ruler", label: "尺子", Icon: Ruler, group: G_TOOL },
  { name: "Timer", label: "计时器", Icon: Timer, group: G_TOOL },
  { name: "Clock", label: "时钟", Icon: Clock, group: G_TOOL },
  { name: "History", label: "历史", Icon: History, group: G_TOOL },
  { name: "Calendar", label: "日历", Icon: Calendar, group: G_TOOL },
  { name: "Palette", label: "调色板", Icon: Palette, group: G_TOOL },
  { name: "PaintBucket", label: "油漆桶", Icon: PaintBucket, group: G_TOOL },

  // 地点 / 交通
  { name: "MapPin", label: "地点", Icon: MapPin, group: G_PLACE },
  { name: "Map", label: "地图", Icon: Map, group: G_PLACE },
  { name: "Navigation", label: "导航", Icon: Navigation, group: G_PLACE },
  { name: "Compass", label: "罗盘", Icon: Compass, group: G_PLACE },
  { name: "Route", label: "路径", Icon: Route, group: G_PLACE },
  { name: "Home", label: "首页", Icon: Home, group: G_PLACE },
  { name: "Plane", label: "飞机", Icon: Plane, group: G_PLACE },
  { name: "Ship", label: "轮船", Icon: Ship, group: G_PLACE },
  { name: "Truck", label: "卡车", Icon: Truck, group: G_PLACE },
  { name: "Car", label: "汽车", Icon: Car, group: G_PLACE },
  { name: "Drone", label: "无人机", Icon: Drone, group: G_PLACE },
  { name: "Telescope", label: "望远镜", Icon: Telescope, group: G_PLACE },

  // 通用 / 形状
  { name: "Square", label: "方形", Icon: Square, group: G_UI },
  { name: "SquareStack", label: "方形堆叠", Icon: SquareStack, group: G_UI },
  { name: "CircleDot", label: "圆点", Icon: CircleDot, group: G_UI },
  { name: "Octagon", label: "八边形", Icon: Octagon, group: G_UI },
  { name: "Pyramid", label: "金字塔", Icon: Pyramid, group: G_UI },
  { name: "Grid", label: "网格", Icon: Grid, group: G_UI },
  { name: "Table", label: "表格", Icon: Table, group: G_UI },
  { name: "List", label: "列表", Icon: List, group: G_UI },
  { name: "Layout", label: "布局", Icon: Layout, group: G_UI },
  { name: "Menu", label: "菜单", Icon: Menu, group: G_UI },
  { name: "AppWindow", label: "窗口", Icon: AppWindow, group: G_UI },
  { name: "Blocks", label: "积木", Icon: Blocks, group: G_UI },
  { name: "ToyBrick", label: "拼接", Icon: ToyBrick, group: G_UI },
  { name: "Puzzle", label: "拼图", Icon: Puzzle, group: G_UI },
  { name: "Infinity", label: "无穷", Icon: InfinityIcon, group: G_UI },

  // 自然 / 生活
  { name: "Sun", label: "太阳", Icon: Sun, group: G_NATURE },
  { name: "Moon", label: "月亮", Icon: Moon, group: G_NATURE },
  { name: "Snowflake", label: "雪花", Icon: Snowflake, group: G_NATURE },
  { name: "Droplet", label: "水滴", Icon: Droplet, group: G_NATURE },
  { name: "Waves", label: "波浪", Icon: Waves, group: G_NATURE },
  { name: "Wind", label: "风", Icon: Wind, group: G_NATURE },
  { name: "Mountain", label: "山", Icon: Mountain, group: G_NATURE },
  { name: "TreePine", label: "树", Icon: TreePine, group: G_NATURE },
  { name: "Wheat", label: "麦穗", Icon: Wheat, group: G_NATURE },
  { name: "Umbrella", label: "雨伞", Icon: Umbrella, group: G_NATURE },
  { name: "Thermometer", label: "温度计", Icon: Thermometer, group: G_NATURE },
  { name: "Coffee", label: "咖啡", Icon: Coffee, group: G_NATURE },
  { name: "Pizza", label: "披萨", Icon: Pizza, group: G_NATURE },
  { name: "Cookie", label: "饼干", Icon: Cookie, group: G_NATURE },
  { name: "Candy", label: "糖果", Icon: Candy, group: G_NATURE },
  { name: "Utensils", label: "餐具", Icon: Utensils, group: G_NATURE },
  { name: "FlaskConical", label: "烧瓶", Icon: FlaskConical, group: G_NATURE },
  { name: "Syringe", label: "针管", Icon: Syringe, group: G_NATURE },
  { name: "Sword", label: "剑", Icon: Sword, group: G_NATURE },
  { name: "Swords", label: "双剑", Icon: Swords, group: G_NATURE },

  // 数据 / 图表
  { name: "ChartBar", label: "柱状图", Icon: ChartBar, group: G_DATA },
  { name: "BarChart", label: "条形图", Icon: BarChart, group: G_DATA },
  { name: "ChartLine", label: "折线图", Icon: ChartLine, group: G_DATA },
  { name: "ChartPie", label: "饼图", Icon: ChartPie, group: G_DATA },
  { name: "AreaChart", label: "面积图", Icon: AreaChart, group: G_DATA },
]

const BY_NAME: Record<string, IconCatalogItem> = Object.fromEntries(
  ICON_CATALOG.map((i) => [i.name, i]),
)

export function getIconByName(name: string | null | undefined): IconCatalogItem | undefined {
  if (!name) return undefined
  return BY_NAME[name]
}

export const ICON_GROUPS: string[] = Array.from(
  new Set(ICON_CATALOG.map((i) => i.group)),
)
