/* global React */
// Icon set — Lucide-style stroked line icons, 24x24, 2px stroke.
// Export via window.Icons so other Babel scripts can consume.
const _I = (paths, { width = 20, height = 20, fill = "none", strokeWidth = 2 } = {}) =>
  ({ size = width, className, style }) =>
    React.createElement(
      "svg",
      {
        width: size, height: size,
        viewBox: "0 0 24 24",
        fill,
        stroke: "currentColor",
        strokeWidth,
        strokeLinecap: "round",
        strokeLinejoin: "round",
        className, style,
        "aria-hidden": "true",
      },
      ...paths.map((d, i) =>
        typeof d === "string"
          ? React.createElement("path", { key: i, d })
          : React.createElement(d.tag, { key: i, ...d.props })
      )
    );

const Icons = {
  Search: _I(["M11 19a8 8 0 1 0 0-16 8 8 0 0 0 0 16Z", "m21 21-4.35-4.35"]),
  ShoppingBag: _I(["M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4H6z", "M3 6h18", "M16 10a4 4 0 0 1-8 0"]),
  Heart: _I(["M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"]),
  User: _I(["M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2", { tag: "circle", props: { cx: 12, cy: 7, r: 4 } }]),
  Menu: _I([{ tag: "line", props: { x1: 3, y1: 6, x2: 21, y2: 6 } }, { tag: "line", props: { x1: 3, y1: 12, x2: 21, y2: 12 } }, { tag: "line", props: { x1: 3, y1: 18, x2: 21, y2: 18 } }]),
  X: _I(["M18 6 6 18", "m6 6 12 12"]),
  ChevronRight: _I(["m9 18 6-6-6-6"]),
  ChevronLeft: _I(["m15 18-6-6 6-6"]),
  ChevronDown: _I(["m6 9 6 6 6-6"]),
  Plus: _I(["M12 5v14", "M5 12h14"]),
  Minus: _I(["M5 12h14"]),
  Trash: _I(["M3 6h18", "M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2", "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6"]),
  Check: _I(["M20 6 9 17l-5-5"]),
  CheckCircle: _I([{ tag: "circle", props: { cx: 12, cy: 12, r: 10 } }, "m9 12 2 2 4-4"]),
  Star: _I(["M12 2l3.1 6.3L22 9.3l-5 4.9 1.2 6.8L12 17.8 5.8 21l1.2-6.8-5-4.9 6.9-1z"]),
  Truck: _I(["M1 3h15v13H1z", "M16 8h4l3 3v5h-7V8z", { tag: "circle", props: { cx: 5.5, cy: 18.5, r: 2.5 } }, { tag: "circle", props: { cx: 18.5, cy: 18.5, r: 2.5 } }]),
  ShieldCheck: _I(["M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z", "m9 12 2 2 4-4"]),
  Undo: _I(["M3 7v6h6", "M3.51 13A9 9 0 1 0 6 5.3L3 8"]),
  Lock: _I([{ tag: "rect", props: { x: 3, y: 11, width: 18, height: 11, rx: 2 } }, "M7 11V7a5 5 0 0 1 10 0v4"]),
  MapPin: _I(["M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z", { tag: "circle", props: { cx: 12, cy: 10, r: 3 } }]),
  CreditCard: _I([{ tag: "rect", props: { x: 2, y: 5, width: 20, height: 14, rx: 2 } }, { tag: "line", props: { x1: 2, y1: 10, x2: 22, y2: 10 } }]),
  Package: _I(["M16.5 9.4 7.5 4.21", "M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z", "m3.27 6.96 8.73 5.05 8.73-5.05", { tag: "line", props: { x1: 12, y1: 22, x2: 12, y2: 12 } }]),
  Sparkles: _I(["M12 2v4", "M12 18v4", "M4.93 4.93l2.83 2.83", "M16.24 16.24l2.83 2.83", "M2 12h4", "M18 12h4", "M4.93 19.07l2.83-2.83", "M16.24 7.76l2.83-2.83"]),
  Filter: _I(["M22 3H2l8 9.46V19l4 2v-8.54L22 3z"]),
  ArrowRight: _I(["M5 12h14", "m12 5 7 7-7 7"]),
  ArrowLeft: _I(["M19 12H5", "m12 19-7-7 7-7"]),
  Tag: _I(["M20.59 13.41 13 21a2 2 0 0 1-2.83 0L2 12.83V2h10.83L21 10.17a2 2 0 0 1 0 2.83l-.41.41z", { tag: "circle", props: { cx: 7, cy: 7, r: 1.5 } }]),
  Eye: _I(["M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z", { tag: "circle", props: { cx: 12, cy: 12, r: 3 } }]),
  EyeOff: _I(["M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24", "M1 1l22 22"]),
  Copy: _I([{ tag: "rect", props: { x: 9, y: 9, width: 13, height: 13, rx: 2 } }, "M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"]),
  Mail: _I([{ tag: "rect", props: { x: 2, y: 4, width: 20, height: 16, rx: 2 } }, "m22 6-10 7L2 6"]),
  Gift: _I([{ tag: "rect", props: { x: 3, y: 8, width: 18, height: 4, rx: 1 } }, "M12 8v13", "M19 12v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-7", "M7.5 8a2.5 2.5 0 0 1 0-5C11 3 12 8 12 8s1-5 4.5-5a2.5 2.5 0 0 1 0 5"]),
  Spark: _I(["M12 3v3", "M12 18v3", "M3 12h3", "M18 12h3", "m5.5 5.5 2 2", "m16.5 16.5 2 2", "m5.5 18.5 2-2", "m16.5 7.5 2-2"]),
  AlertCircle: _I([{ tag: "circle", props: { cx: 12, cy: 12, r: 10 } }, { tag: "line", props: { x1: 12, y1: 8, x2: 12, y2: 12 } }, { tag: "line", props: { x1: 12, y1: 16, x2: 12.01, y2: 16 } }]),
  Phone: _I(["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"]),
  Clock: _I([{ tag: "circle", props: { cx: 12, cy: 12, r: 10 } }, "M12 6v6l4 2"]),
  Instagram: _I([{ tag: "rect", props: { x: 2, y: 2, width: 20, height: 20, rx: 5 } }, "M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z", { tag: "line", props: { x1: 17.5, y1: 6.5, x2: 17.51, y2: 6.5 } }]),
  Facebook: _I(["M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"]),
  Twitter: _I(["M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z"]),
};

window.Icons = Icons;
