// src/icons.jsx — thin stroke icon set
// All icons take {size, stroke, ...} and use currentColor. Keep them minimal — bodega marketplace, not a gift wrap.

const I = ({ size = 20, stroke: strokeW = 1.6, children, ...rest }) => (
  <svg xmlns="http://www.w3.org/2000/svg" width={size} height={size} viewBox="0 0 24 24"
    fill="none" strokeLinecap="round" strokeLinejoin="round"
    {...rest}
    stroke="currentColor" strokeWidth={strokeW}>{children}</svg>
);

const Icons = {
  Search:  (p) => <I {...p}><circle cx="11" cy="11" r="7" /><path d="m20 20-3.5-3.5" /></I>,
  Cart:    (p) => <I {...p}><path d="M3 4h2l2.4 11.2a2 2 0 0 0 2 1.6h7.2a2 2 0 0 0 2-1.5L20.5 8H6.2" /><circle cx="9" cy="20" r="1.3" /><circle cx="17" cy="20" r="1.3" /></I>,
  Bag:     (p) => <I {...p}><path d="M4 8h16l-1 11a2 2 0 0 1-2 1.8H7a2 2 0 0 1-2-1.8L4 8z" /><path d="M8.5 8V6a3.5 3.5 0 0 1 7 0v2" /><path d="M9.5 12c.6 1.3 1.6 2 2.5 2s1.9-.7 2.5-2" /></I>,
  Pickup:  (p) => <I {...p}><path d="M5 9h14l-1 10a2 2 0 0 1-2 1.8H8a2 2 0 0 1-2-1.8L5 9z" /><path d="M9 9V7a3 3 0 0 1 6 0v2" /><path d="m10 14 2 2 4-4" /></I>,
  Plus:    (p) => <I {...p}><path d="M12 5v14M5 12h14" /></I>,
  Minus:   (p) => <I {...p}><path d="M5 12h14" /></I>,
  Check:   (p) => <I {...p}><path d="m4 12 5 5L20 6" /></I>,
  Close:   (p) => <I {...p}><path d="M6 6l12 12M18 6 6 18" /></I>,
  Chevron: (p) => <I {...p}><path d="m9 6 6 6-6 6" /></I>,
  ChevronDown: (p) => <I {...p}><path d="m6 9 6 6 6-6" /></I>,
  ArrowLeft: (p) => <I {...p}><path d="M20 12H4M10 6l-6 6 6 6" /></I>,
  ArrowRight: (p) => <I {...p}><path d="M4 12h16M14 6l6 6-6 6" /></I>,
  Pin:     (p) => <I {...p}><path d="M12 22s7-6.5 7-12a7 7 0 1 0-14 0c0 5.5 7 12 7 12z" /><circle cx="12" cy="10" r="2.5" /></I>,
  Clock:   (p) => <I {...p}><circle cx="12" cy="12" r="9" /><path d="M12 7v5l3 2" /></I>,
  Star:    (p) => <I {...p}><path d="m12 3 2.6 5.5 6 .9-4.3 4.2 1 6L12 16.8 6.7 19.6l1-6L3.4 9.4l6-.9L12 3z" /></I>,
  Heart:   (p) => <I {...p}><path d="M12 21s-7-4.5-7-10a4.5 4.5 0 0 1 7-3.7A4.5 4.5 0 0 1 19 11c0 5.5-7 10-7 10z" /></I>,
  Sparkle: (p) => <I {...p}><path d="M12 3v4M12 17v4M3 12h4M17 12h4M6 6l2.5 2.5M15.5 15.5 18 18M6 18l2.5-2.5M15.5 8.5 18 6" /></I>,
  Filter:  (p) => <I {...p}><path d="M3 5h18M6 12h12M10 19h4" /></I>,
  Sliders: (p) => <I {...p}><path d="M4 6h10M18 6h2M4 12h2M10 12h10M4 18h14M20 18h0" /><circle cx="16" cy="6" r="2" /><circle cx="8" cy="12" r="2" /></I>,
  Truck:   (p) => <I {...p}><path d="M3 7h11v9H3zM14 11h4l3 3v2h-7" /><circle cx="7" cy="18" r="1.6" /><circle cx="17" cy="18" r="1.6" /></I>,
  Play:    (p) => <I {...p}><path d="M7 4l13 8-13 8z" /></I>,
  Recycle: (p) => <I {...p}><path d="M7 19h10l-2.5-3M7 19l3-5M17 19l3-5M5 13l-2 3 4 1M19 13l2 3-4 1M9 5l3-2 3 2-2.5 4M9 5l-2 4M15 5l2 4" /></I>,
  Store:   (p) => <I {...p}><path d="M4 10v10h16V10M3 10 5 4h14l2 6M3 10h18" /><path d="M8 14h4v6H8z" /></I>,
  User:    (p) => <I {...p}><circle cx="12" cy="8" r="4" /><path d="M4 20c1.5-4 4.5-6 8-6s6.5 2 8 6" /></I>,
  Mic:     (p) => <I {...p}><rect x="9" y="3" width="6" height="11" rx="3" /><path d="M5 11a7 7 0 0 0 14 0M12 18v3M9 21h6" /></I>,
  Leaf:    (p) => <I {...p}><path d="M20 4c-4 0-15 1-15 11a5 5 0 0 0 5 5c10 0 10-11 10-16z" /><path d="M10 20 20 4" /></I>,
  Zap:     (p) => <I {...p}><path d="m13 2-9 13h7l-1 7 9-13h-7l1-7z" /></I>,
  Flame:   (p) => <I {...p}><path d="M12 22c4 0 7-3 7-7 0-5-4-6-4-11 0 0-3 2-5 6 0 0-2-1-2-3-2 2-3 4-3 8 0 4 3 7 7 7z" /></I>,
  Percent: (p) => <I {...p}><path d="m6 18 12-12" /><circle cx="7.5" cy="7.5" r="1.5" /><circle cx="16.5" cy="16.5" r="1.5" /></I>,
  ShieldCheck: (p) => <I {...p}><path d="M12 3 4 6v6c0 5 3.5 8 8 9 4.5-1 8-4 8-9V6l-8-3z" /><path d="m9 12 2 2 4-4" /></I>,
  Info:    (p) => <I {...p}><circle cx="12" cy="12" r="9" /><path d="M12 11v5M12 8v.5" /></I>,
  Trash:   (p) => <I {...p}><path d="M4 7h16M9 7V5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2M6 7l1 13a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2l1-13" /></I>,
  Dot:     (p) => <I {...p}><circle cx="12" cy="12" r="3" /></I>,
  Menu:    (p) => <I {...p}><path d="M4 7h16M4 12h16M4 17h16" /></I>,
  Grid:    (p) => <I {...p}><path d="M4 4h7v7H4zM13 4h7v7h-7zM4 13h7v7H4zM13 13h7v7h-7z" /></I>,
  List:    (p) => <I {...p}><path d="M4 6h16M4 12h16M4 18h16" /></I>,
  Snow:    (p) => <I {...p}><path d="M12 3v18M3 12h18M5 5l14 14M19 5 5 19" /></I>,
  Beer:    (p) => <I {...p}><path d="M6 8h9v12H6zM15 10h3a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2h-3M9 5c0-1 1-2 3-2s3 1 3 2" /></I>,
  Coffee:  (p) => <I {...p}><path d="M4 8h13v6a5 5 0 0 1-5 5H9a5 5 0 0 1-5-5V8zM17 10h2a3 3 0 0 1 0 6h-2" /></I>,
  Cookie:  (p) => <I {...p}><circle cx="12" cy="12" r="9" /><circle cx="9" cy="9" r="1" /><circle cx="14" cy="13" r="1" /><circle cx="10" cy="15" r="1" /></I>,
  Box:     (p) => <I {...p}><path d="M3 7 12 3l9 4v10l-9 4-9-4V7zM3 7l9 4 9-4M12 11v10" /></I>,
  Pill:    (p) => <I {...p}><rect x="3" y="9" width="18" height="6" rx="3" transform="rotate(-30 12 12)" /><path d="m8 8 8 8" /></I>,
  Cat:     (p) => <I {...p}><path d="M5 4v5a7 7 0 0 0 14 0V4l-3 3h-2m-6 0H8L5 4" /><path d="M9 14h.01M15 14h.01" /></I>,
  Baguette:(p) => <I {...p}><path d="M4 14 14 4a3 3 0 0 1 4 4L8 18a3 3 0 0 1-4-4z" /><path d="m7 11 1 1M10 8l1 1M13 5l1 1" /></I>,
  Apple:   (p) => <I {...p}><path d="M12 8c-2-3-6-3-7 0-1.5 4 2 12 5 12 1 0 1-.5 2-.5s1 .5 2 .5c3 0 6.5-8 5-12-1-3-5-3-7 0z" /><path d="M12 8V5a2 2 0 0 1 2-2" /></I>,
  Home:    (p) => <I {...p}><path d="m3 11 9-8 9 8v10a1 1 0 0 1-1 1h-5v-7h-6v7H4a1 1 0 0 1-1-1z" /></I>,
  Receipt: (p) => <I {...p}><path d="M5 3h14v18l-3-2-2 2-2-2-2 2-2-2-3 2zM8 8h8M8 12h8M8 16h5" /></I>,
  X:       (p) => <I {...p}><path d="M6 6l12 12M18 6 6 18" /></I>,
  TrendingUp: (p) => <I {...p}><path d="m3 17 6-6 4 4 8-8M15 7h6v6" /></I>,
  Play:    (p) => <I {...p}><path d="M7 4v16l13-8z" /></I>,
  Sun:     (p) => <I {...p}><circle cx="12" cy="12" r="4" /><path d="M12 2v2M12 20v2M2 12h2M20 12h2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4" /></I>,
  Moon:    (p) => <I {...p}><path d="M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8z" /></I>,
};

window.Icons = Icons;
