﻿/* Icons: Lucide-style SVG, 24×24, 2px round stroke. Matches the soft EO type. */
const EO_ICONS = {
  Search: <React.Fragment><circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/></React.Fragment>,
  MapPin: <React.Fragment><path d="M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z"/><circle cx="12" cy="10" r="3"/></React.Fragment>,
  ChevronDown: <path d="m6 9 6 6 6-6"/>,
  Check: <path d="M20 6 9 17l-5-5"/>,
  ShoppingBag: <React.Fragment><path d="M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4Z"/><path d="M3 6h18"/><path d="M16 10a4 4 0 0 1-8 0"/></React.Fragment>,
  Truck: <React.Fragment><path d="M10 17h4V5H2v12h3"/><path d="M20 17h2v-3.34a4 4 0 0 0-1.17-2.83L19 9h-5v8h1"/><circle cx="7.5" cy="17.5" r="2.5"/><circle cx="17.5" cy="17.5" r="2.5"/></React.Fragment>,
  Clock: <React.Fragment><circle cx="12" cy="12" r="9"/><path d="M12 7v5l3.5 2"/></React.Fragment>,
  Leaf: <React.Fragment><path d="M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19 2c1 2 2 4.18 2 8 0 5.5-4.78 10-10 10Z"/><path d="M2 21c0-3 1.85-5.36 5.08-6"/></React.Fragment>,
  Plus: <React.Fragment><path d="M5 12h14"/><path d="M12 5v14"/></React.Fragment>,
  Minus: <path d="M5 12h14"/>,
  Star: <path d="M12 2.5 15 8.7l6.8 1-5 4.8 1.2 6.8L12 18.1 6 21.3l1.2-6.8-5-4.8 6.8-1z"/>,
  X: <React.Fragment><path d="M18 6 6 18"/><path d="m6 6 12 12"/></React.Fragment>,
  Instagram: <React.Fragment><rect x="3" y="3" width="18" height="18" rx="5"/><circle cx="12" cy="12" r="4"/><path d="M17.5 6.5h.01"/></React.Fragment>,
  Sprout: <React.Fragment><path d="M12 22V11"/><path d="M12 11c0-3 2-5.2 5.2-5.2C17.2 8.8 15.2 11 12 11Z"/><path d="M12 13c0-2.6-2-4.7-5.2-4.7C6.8 10.9 8.8 13 12 13Z"/></React.Fragment>,
  MessageCircle: <path d="M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z"/>,
  ArrowRight: <React.Fragment><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></React.Fragment>,
  ArrowLeft: <React.Fragment><path d="M19 12H5"/><path d="m12 19-7-7 7-7"/></React.Fragment>,
  User: <React.Fragment><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></React.Fragment>,
  Phone: <path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.9.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z"/>,
  Home: <React.Fragment><path d="M3 9.5 12 3l9 6.5V20a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1Z"/><path d="M9 21v-7h6v7"/></React.Fragment>,
  Trash: <React.Fragment><path d="M3 6h18"/><path d="M8 6V4a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v2"/><path d="M19 6v14a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6"/></React.Fragment>,
  Sparkles: <React.Fragment><path d="M12 3 13.6 8.4 19 10l-5.4 1.6L12 17l-1.6-5.4L5 10l5.4-1.6Z"/><path d="M19 15l.7 2.3L22 18l-2.3.7L19 21l-.7-2.3L16 18l2.3-.7Z"/></React.Fragment>,
  Edit: <React.Fragment><path d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"/><path d="M18.5 2.5a2.12 2.12 0 0 1 3 3L12 15l-4 1 1-4Z"/></React.Fragment>,
  ChevronRight: <path d="m9 6 6 6-6 6"/>,
  Heart: <path d="M19 14c1.5-1.5 3-3.2 3-5.5A5.5 5.5 0 0 0 12 5 5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4 3 5.5l7 7Z"/>,
  Receipt: <React.Fragment><path d="M4 2v20l2-1.5L8 22l2-1.5L12 22l2-1.5L16 22l2-1.5L20 22V2l-2 1.5L16 2l-2 1.5L12 2l-2 1.5L8 2 6 3.5Z"/><path d="M8 8h8"/><path d="M8 12h6"/></React.Fragment>,
  ChefHat: <React.Fragment><path d="M6 13.87A4 4 0 0 1 7.41 6a5.11 5.11 0 0 1 1.05-1.54 5 5 0 0 1 7.08 0A5.11 5.11 0 0 1 16.59 6 4 4 0 0 1 18 13.87V21H6Z"/><path d="M6 17h12"/></React.Fragment>,
};

function Icon({ name, size = 22, stroke = 2.1, color, style, className }) {
  const glyph = EO_ICONS[name];
  if (!glyph) return null;
  return (
    <svg
      width={size} height={size} viewBox="0 0 24 24" fill="none"
      stroke={color || 'currentColor'} strokeWidth={stroke}
      strokeLinecap="round" strokeLinejoin="round"
      className={className} style={style} aria-hidden="true"
    >
      {glyph}
    </svg>
  );
}
window.Icon = Icon;
