import React from 'react';
import * as LucideIcons from 'lucide-react';

export const createLucideIcon = (iconName: keyof typeof LucideIcons) => {
  return ({ className, size = 24, ...props }: any) => {
    const Icon = LucideIcons[iconName] as any;
    if (!Icon) return null;
    return <Icon className={`${className || ''} transition-transform duration-300`} size={size} {...props} />;
  };
};

export const AlertCircle = createLucideIcon('AlertCircle');
export const AlertTriangle = createLucideIcon('AlertTriangle');
export const CheckCircle2 = createLucideIcon('CheckCircle2');
export const Clock = createLucideIcon('Clock');
export const Loader2 = createLucideIcon('Loader2');
export const X = createLucideIcon('X');
export const Info = createLucideIcon('Info');
export const Store = createLucideIcon('Store');
export const ShoppingCart = createLucideIcon('ShoppingCart');
export const Receipt = createLucideIcon('Receipt');
export const Users = createLucideIcon('Users');
export const Package = createLucideIcon('Package');
export const FolderTree = createLucideIcon('FolderTree');
export const BarChart3 = createLucideIcon('BarChart3');
export const UserCheck = createLucideIcon('UserCheck');
export const Building2 = createLucideIcon('Building2');
export const Settings = createLucideIcon('Settings');
export const ShieldCheck = createLucideIcon('ShieldCheck');
export const LogOut = createLucideIcon('LogOut');
export const Menu = createLucideIcon('Menu');
export const Sparkles = createLucideIcon('Sparkles');
export const ChevronRight = createLucideIcon('ChevronRight');
export const ChevronDown = createLucideIcon('ChevronDown');
export const LayoutDashboard = createLucideIcon('LayoutDashboard');
export const Search = createLucideIcon('Search');
export const Bell = createLucideIcon('Bell');
export const Trash2 = createLucideIcon('Trash2');
export const DollarSign = createLucideIcon('DollarSign');
export const Activity = createLucideIcon('Activity');
export const Sun = createLucideIcon('Sun');
export const Moon = createLucideIcon('Moon');
export const Palette = createLucideIcon('Palette');
export const Heart = createLucideIcon('Heart');
export const FileText = createLucideIcon('FileText');
export const User = createLucideIcon('User');
export const Tag = createLucideIcon('Tag');
export const SlidersHorizontal = createLucideIcon('SlidersHorizontal');
export const PanelLeftClose = createLucideIcon('PanelLeftClose');
export const PanelLeftOpen = createLucideIcon('PanelLeftOpen');
export const ShoppingBag = createLucideIcon('ShoppingBag');
export const CheckCheck = createLucideIcon('CheckCheck');
export const Plus = createLucideIcon('Plus');
export const Phone = createLucideIcon('Phone');
export const MapPin = createLucideIcon('MapPin');
export const Cpu = createLucideIcon('Cpu');
export const TrendingUp = createLucideIcon('TrendingUp');
export const Edit3 = createLucideIcon('Edit3');
export const Banknote = createLucideIcon('Banknote');
export const QrCode = createLucideIcon('QrCode');
export const CreditCard = createLucideIcon('CreditCard');
export const AlertOctagon = createLucideIcon('AlertOctagon');
export const Calendar = createLucideIcon('Calendar');
export const ArrowUpRight = createLucideIcon('ArrowUpRight');
export const Flame = createLucideIcon('Flame');
export const Award = createLucideIcon('Award');
export const Power = createLucideIcon('Power');
export const Save = createLucideIcon('Save');
export const Mail = createLucideIcon('Mail');
export const Lock = createLucideIcon('Lock');
export const Eye = createLucideIcon('Eye');
export const EyeOff = createLucideIcon('EyeOff');
export const ArrowRight = createLucideIcon('ArrowRight');
export const ArrowLeft = createLucideIcon('ArrowLeft');
export const CheckCircle = createLucideIcon('CheckCircle');
export const Check = createLucideIcon('Check');
export const Printer = createLucideIcon('Printer');
export const Ban = createLucideIcon('Ban');
export const Filter = createLucideIcon('Filter');
export const Minus = createLucideIcon('Minus');
export const UserPlus = createLucideIcon('UserPlus');
export const Grid = createLucideIcon('Grid');
export const List = createLucideIcon('List');
