/* Bonyan icon set — Lucide-style (24×24, 2px round stroke).
   Paths adapted from the open-source Lucide icon library (ISC).
   Documented as the brand's icon system in readme.md → ICONOGRAPHY. */
const Svg = ({ children, size = 20, stroke = 2, fill = "none", ...rest }) =>
  React.createElement(
    "svg",
    { viewBox: "0 0 24 24", width: size, height: size, fill, stroke: "currentColor", strokeWidth: stroke, strokeLinecap: "round", strokeLinejoin: "round", ...rest },
    children
  );
const P = (d) => React.createElement("path", { d });
const L = (x1, y1, x2, y2) => React.createElement("line", { x1, y1, x2, y2 });
const C = (cx, cy, r) => React.createElement("circle", { cx, cy, r });
const R = (x, y, w, h, rx = 2) => React.createElement("rect", { x, y, width: w, height: h, rx });
const Poly = (points) => React.createElement("polyline", { points });

const Icon = {
  dashboard: (p) => <Svg {...p}>{R(3,3,7,9)}{R(14,3,7,5)}{R(14,12,7,9)}{R(3,18,7,3)}</Svg>,
  invoice:   (p) => <Svg {...p}>{P("M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z")}{Poly("14 2 14 8 20 8")}{L(16,13,8,13)}{L(16,17,8,17)}{Poly("10 9 9 9 8 9")}</Svg>,
  inventory: (p) => <Svg {...p}>{P("M21 8a2 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")}{P("M3.3 7 12 12l8.7-5")}{L(12,22,12,12)}</Svg>,
  users:     (p) => <Svg {...p}>{P("M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2")}{C(9,7,4)}{P("M22 21v-2a4 4 0 0 0-3-3.87")}{P("M16 3.13a4 4 0 0 1 0 7.75")}</Svg>,
  supplier:  (p) => <Svg {...p}>{P("M10 17h4V5H2v12h3")}{P("M20 17h2v-3.34a4 4 0 0 0-1.17-2.83L19 9h-5v8h1")}{C(7.5,17.5,2.5)}{C(17.5,17.5,2.5)}</Svg>,
  chart:     (p) => <Svg {...p}>{P("M3 3v18h18")}{P("M18 17V9")}{P("M13 17V5")}{P("M8 17v-3")}</Svg>,
  settings:  (p) => <Svg {...p}>{P("M20 7h-9")}{P("M14 17H5")}{C(17,17,3)}{C(7,7,3)}</Svg>,
  search:    (p) => <Svg {...p}>{C(11,11,8)}{L(21,21,16.65,16.65)}</Svg>,
  mic:       (p) => <Svg {...p}>{P("M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3z")}{P("M19 10v2a7 7 0 0 1-14 0v-2")}{L(12,19,12,22)}{L(8,22,16,22)}</Svg>,
  plus:      (p) => <Svg {...p}>{L(12,5,12,19)}{L(5,12,19,12)}</Svg>,
  wallet:    (p) => <Svg {...p}>{P("M21 12V7H5a2 2 0 0 1 0-4h14v4")}{P("M3 5v14a2 2 0 0 0 2 2h16v-5")}{P("M18 12a2 2 0 0 0 0 4h4v-4Z")}</Svg>,
  alert:     (p) => <Svg {...p}>{P("m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z")}{L(12,9,12,13)}{L(12,17,12.01,17)}</Svg>,
  whatsapp:  (p) => <Svg {...p}>{P("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 8z")}</Svg>,
  printer:   (p) => <Svg {...p}>{Poly("6 9 6 2 18 2 18 9")}{P("M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2")}{R(6,14,12,8)}</Svg>,
  bell:      (p) => <Svg {...p}>{P("M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9")}{P("M10.3 21a1.94 1.94 0 0 0 3.4 0")}</Svg>,
  cloud:     (p) => <Svg {...p}>{P("M17.5 19a4.5 4.5 0 0 0 0-9h-1.8A7 7 0 1 0 4 14.9")}{Poly("8 17 12 21 16 17")}{L(12,12,12,21)}</Svg>,
  chevron:   (p) => <Svg {...p}>{Poly("15 18 9 12 15 6")}</Svg>,
  phone:     (p) => <Svg {...p}>{P("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.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z")}</Svg>,
  trash:     (p) => <Svg {...p}>{Poly("3 6 5 6 21 6")}{P("M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2")}</Svg>,
  check:     (p) => <Svg {...p}>{Poly("20 6 9 17 4 12")}</Svg>,
  x:         (p) => <Svg {...p}>{L(18,6,6,18)}{L(6,6,18,18)}</Svg>,
  building:  (p) => <Svg {...p}>{P("M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z")}{L(6,12,18,12)}{L(6,22,18,22)}{L(10,7,10,7)}{L(14,7,14,7)}</Svg>,
  card:      (p) => <Svg {...p}>{R(2,5,20,14,2)}{L(2,10,22,10)}</Svg>,
  more:      (p) => <Svg {...p}>{C(12,5,1)}{C(12,12,1)}{C(12,19,1)}</Svg>,
  filter:    (p) => <Svg {...p}>{Poly("22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3")}</Svg>,
  calendar:  (p) => <Svg {...p}>{R(3,4,18,18,2)}{L(16,2,16,6)}{L(8,2,8,6)}{L(3,10,21,10)}</Svg>,
  arrows:    (p) => <Svg {...p}>{P("m21 16-4 4-4-4")}{P("M17 20V4")}{P("m3 8 4-4 4 4")}{P("M7 4v16")}</Svg>,
  copy:      (p) => <Svg {...p}>{R(9,9,13,13,2)}{P("M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1")}</Svg>,
  history:   (p) => <Svg {...p}>{P("M3 3v5h5")}{P("M3.05 13A9 9 0 1 0 6 5.3L3 8")}{Poly("12 7 12 12 15 15")}</Svg>,
  menu:      (p) => <Svg {...p}>{L(3,6,21,6)}{L(3,12,21,12)}{L(3,18,21,18)}</Svg>,
};

window.BnyIcon = Icon;
