/* global React */
// Line icons — Lucide-style stroke 1.5
const I = ({ d, width = 24, height = 24, ...rest }) => (
  <svg width={width} height={height} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" {...rest}>
    {d}
  </svg>
);

const Icons = {
  ArrowRight: (p) => <I {...p} d={<><path d="M5 12h14"/><path d="M13 6l6 6-6 6"/></>} />,
  Phone: (p) => <I {...p} d={<><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.72 12.84 12.84 0 0 0 .7 2.81 2 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-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"/></>} />,
  Calendar: (p) => <I {...p} d={<><rect x="3" y="4" width="18" height="18" rx="1"/><path d="M16 2v4M8 2v4M3 10h18"/></>} />,
  Clock: (p) => <I {...p} d={<><circle cx="12" cy="12" r="10"/><path d="M12 6v6l4 2"/></>} />,
  Shield: (p) => <I {...p} d={<><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/><path d="M9 12l2 2 4-4"/></>} />,
  Award: (p) => <I {...p} d={<><circle cx="12" cy="8" r="6"/><path d="M15.5 13.5L17 22l-5-3-5 3 1.5-8.5"/></>} />,
  Wrench: (p) => <I {...p} d={<><path d="M14.7 6.3a4 4 0 0 1 5.4 5.4l-8 8a3 3 0 0 1-4.2-4.2l8-8z"/><path d="M14.7 6.3l3 3"/></>} />,
  Droplet: (p) => <I {...p} d={<><path d="M12 2.7s-7 7.4-7 12.3a7 7 0 0 0 14 0c0-4.9-7-12.3-7-12.3z"/></>} />,
  Disc: (p) => <I {...p} d={<><circle cx="12" cy="12" r="10"/><circle cx="12" cy="12" r="3"/></>} />,
  Snow: (p) => <I {...p} d={<><path d="M12 2v20M2 12h20M4.93 4.93l14.14 14.14M19.07 4.93L4.93 19.07"/></>} />,
  Battery: (p) => <I {...p} d={<><rect x="2" y="7" width="18" height="10" rx="1"/><path d="M22 11v2"/><path d="M6 10v4M10 10v4"/></>} />,
  Tire: (p) => <I {...p} d={<><circle cx="12" cy="12" r="10"/><circle cx="12" cy="12" r="4"/><path d="M12 2v4M12 18v4M2 12h4M18 12h4M4.9 4.9l2.8 2.8M16.3 16.3l2.8 2.8M4.9 19.1l2.8-2.8M16.3 7.7l2.8-2.8"/></>} />,
  Steering: (p) => <I {...p} d={<><circle cx="12" cy="12" r="10"/><circle cx="12" cy="12" r="2"/><path d="M12 14v8M4 8h6M14 8h6"/></>} />,
  Cog: (p) => <I {...p} d={<><circle cx="12" cy="12" r="3"/><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z"/></>} />,
  Zap: (p) => <I {...p} d={<><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"/></>} />,
  AlertTriangle: (p) => <I {...p} d={<><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"/><path d="M12 9v4M12 17h.01"/></>} />,
  Filter: (p) => <I {...p} d={<><path d="M22 3H2l8 9.46V19l4 2v-8.54L22 3z"/></>} />,
  Target: (p) => <I {...p} d={<><circle cx="12" cy="12" r="10"/><circle cx="12" cy="12" r="6"/><circle cx="12" cy="12" r="2"/></>} />,
  Stethoscope: (p) => <I {...p} d={<><path d="M6 3v6a4 4 0 0 0 8 0V3"/><path d="M6 3H4M14 3h2M10 13v4a4 4 0 0 0 8 0v-1"/><circle cx="18" cy="12" r="2"/></>} />,
  MapPin: (p) => <I {...p} d={<><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/></>} />,
  Mail: (p) => <I {...p} d={<><rect x="2" y="4" width="20" height="16" rx="1"/><path d="M2 6l10 7 10-7"/></>} />,
  Star: (p) => <svg viewBox="0 0 24 24" fill="currentColor" {...p}><path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z"/></svg>,
  Quote: (p) => <I {...p} d={<><path d="M3 21c3 0 7-1 7-8V5c0-1.25-.76-2-2-2H4c-1.25 0-2 .75-2 2v6c0 1.25.75 2 2 2h2c0 3-3 4-3 4l0 4z"/><path d="M14 21c3 0 7-1 7-8V5c0-1.25-.76-2-2-2h-4c-1.25 0-2 .75-2 2v6c0 1.25.75 2 2 2h2c0 3-3 4-3 4l0 4z"/></>} />,
  Check: (p) => <I {...p} d={<><path d="M20 6L9 17l-5-5"/></>} />,
  Image: (p) => <I {...p} d={<><rect x="3" y="3" width="18" height="18" rx="1"/><circle cx="8.5" cy="8.5" r="1.5"/><path d="M21 15l-5-5L5 21"/></>} />,
  Send: (p) => <I {...p} d={<><path d="M22 2L11 13"/><path d="M22 2l-7 20-4-9-9-4 20-7z"/></>} />,
  X: (p) => <I {...p} d={<><path d="M18 6L6 18M6 6l12 12"/></>} />,
  Menu: (p) => <I {...p} d={<><path d="M3 6h18M3 12h18M3 18h18"/></>} />,
  ChevronDown: (p) => <I {...p} d={<><path d="M6 9l6 6 6-6"/></>} />,
};

window.Icons = Icons;
